Skip to content

feat(milestones): add resilient loading and scoped recovery - #1139

Merged
mikewheeleer merged 1 commit into
Talenttrust:mainfrom
Baskarayelu:feat/issue-1105-milestones-resilience
Aug 30, 2026
Merged

feat(milestones): add resilient loading and scoped recovery#1139
mikewheeleer merged 1 commit into
Talenttrust:mainfrom
Baskarayelu:feat/issue-1105-milestones-resilience

Conversation

@Baskarayelu

Copy link
Copy Markdown
Contributor

Summary

Improve the milestones board's loading and failure behavior so users keep their context while the board resolves or recovers.

What changed

  • Added MilestonesBoardSkeleton, shared by the App Router loading state and the page Suspense fallback.
  • Matched the board's heading, filter toolbar, action controls, and milestone-card footprints to reduce layout shift.
  • Added one polite role="status" loading announcement and hid decorative placeholders from assistive technology.
  • Scoped MilestonesErrorBoundary instances around filters, actions, and the milestone list so one render failure does not remove healthy siblings.
  • Added keyed retry remounting so Try again resets only the failed subtree.
  • Added typed MILESTONES_SECTION_FAILED metadata with a stable section label and React component stack for observability.
  • Removed raw thrown error messages from the fallback UI to prevent implementation details or sensitive values from leaking.
  • Added unit and page-composition integration coverage for loading, isolation, retry recovery, accessibility, layout hooks, and reporting metadata.
  • Added docs/MILESTONES_RESILIENCE.md with the design contract, accessibility guidance, testing strategy, and maintenance checklist.

Verification

  • npm run lint on all changed source/test files: passed.
  • Focused Jest suite: 4 suites, 43 tests passed.
  • git diff --check: passed.
  • Full repository npm run lint, npm test -- --runInBand, and npm run build are currently blocked by pre-existing unrelated issues on main, including merge-conflict markers and duplicate declarations in reputation/settings files, plus existing snapshot and dynamic-dialog failures. These are documented here so the baseline status is explicit.

Closes #1105

@mikewheeleer
mikewheeleer merged commit 878513a into Talenttrust:main Aug 30, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

skeleton loading and error boundaries for the milestones board

2 participants